Component({
  /**
   * properties 和 data 指向同一个对象，使用 setData 可以修改 properties 中的数据
   */
  properties: {
    // 自定义属性
    initial: Number,
    // 自定义属性 完整写法
    step: {
      type: Number,
      value: 1
    }
  },

  data: {
    counter: 0
  },

  methods: {
    onClick() {
      this.setData({ counter: this.data.counter + this.data.step })
      // 自定义事件
      this.triggerEvent('counterchange', this.data.counter)
    }
  },

  lifetimes: {
    ready() {
      this.setData({ counter: this.data.initial || 0 })
    }
  }
})